<template>
  <span :class="`${prefixCls}__extra-redo`" @click="handleRedo">
    <RedoOutlined :spin="loading" />
  </span>
</template>
<script lang="ts">
import { defineComponent, ref } from "vue";
import { RedoOutlined } from "@ant-design/icons-vue";
import { useDesign } from "/@/hooks/web/UseDesign";
import { useTabs } from "/@/hooks/web/UseTabs";

export default defineComponent({
  name: "TabRedo",
  components: { RedoOutlined },

  setup() {
    const loading = ref(false);

    const { prefixCls } = useDesign("multiple-tabs-content");
    const { refreshPage } = useTabs();

    async function handleRedo() {
      loading.value = true;
      await refreshPage();
      setTimeout(() => {
        loading.value = false;
        // Animation execution time
      }, 1200);
    }

    return { prefixCls, handleRedo, loading };
  }
});
</script>
